package pong.app 
{
	
	/**
	 * ...
	 * @author Luke Van In
	 */
	public interface IPongAppStateContext
	{
		
		function setLoadingState(state:IPongAppState):void;
		
		
		function setMenuState(state:IPongAppState):void;
		
		
		function setInstructionsState(state:IPongAppState):void;
		
		
		function setLoginState(state:IPongAppState):void;
		
		
		function setPlayingState(state:IPongAppState):void;


		function setSavingState(state:IPongAppState):void;
		
		
		function setScoresState(state:IPongAppState):void;
		
		
		function getCurrentState():IPongAppState;
		
		
		
		function gotoLoadingState():void;
		
		function gotoMenuState():void;
		
		function gotoInstructionsState():void;
		
		function gotoLoginState():void;
		
		function gotoPlayingState():void;
		
		function gotoSavingState():void;
		
		function gotoScoresState():void;
		
		
		
		/**
		 * 
		 * @param	state
		 * @return
		 */
		//function isCurrentState(state:IPongAppState):Boolean;
		
		
		/**
		 * 
		 * @param	state
		 */
		//function gotoState(state:IPongAppState):void;
		

		
	}
	
}